++2010-01-14 Kenichi Handa <handa@m17n.org>
++
++ * NEWS: Describe the change of auto-composition-mode.
++
2010-01-12 Glenn Morris <rgm@gnu.org>
* CONTRIBUTE, NEWS: Use bug-gnu-emacs rather than emacs-pretest-bug
** Function arguments in *Help* buffers are now shown in upper-case.
Customize `help-downcase-arguments' to t to show them in lower-case.
++** Delete Auto Composition Mode. Now the variable
++`auto-composition-mode' is simply a buffer local variable. The
++commands `auto-composition-mode' and `global-auto-composition-mode'
++still works as before.
++
\f
* Editing Changes in Emacs 23.2
++2010-01-14 Kenichi Handa <handa@m17n.org>
++
++ * composite.el (auto-composition-mode): Make it a buffer local
++ variable (permanent-local).
++ (auto-composition-function): Set the default value to
++ auto-compose-chars.
++ (auto-composition-mode): Make it a simple function, not a minor
++ mode.
++ (global-auto-composition-mode): Likewise.
++ (turn-on-auto-composition-if-enabled): Delete it.
++
2010-01-12 Michael Albinus <michael.albinus@gmx.de>
* files.el (copy-directory): Compute target for recursive
(setq func 'compose-gstring-for-terminal))
(funcall func gstring))))
++(make-variable-buffer-local 'auto-composition-mode)
++(put 'auto-composition-mode 'permanent-local t)
++
(make-variable-buffer-local 'auto-composition-function)
++(setq-default auto-composition-function 'auto-compose-chars)
;;;###autoload
--(define-minor-mode auto-composition-mode
++(defun auto-composition-mode (&optional arg)
"Toggle Auto Composition mode.
With ARG, turn Auto Composition mode off if and only if ARG is a non-positive
number; if ARG is nil, toggle Auto Composition mode; anything else turns Auto
You can use `global-auto-composition-mode' to turn on
Auto Composition mode in all buffers (this is the default)."
-- nil nil nil
-- (if noninteractive
-- (setq auto-composition-mode nil))
-- (cond (auto-composition-mode
-- (setq auto-composition-function 'auto-compose-chars))
-- (t
-- (setq auto-composition-function nil))))
--
--(defun turn-on-auto-composition-if-enabled ()
-- (if enable-multibyte-characters
-- (auto-composition-mode 1)))
++ (interactive "P")
++ (setq auto-composition-mode
++ (if arg
++ (or (not (integerp arg)) (> arg 0))
++ (not auto-composition-mode))))
;;;###autoload
--(define-global-minor-mode global-auto-composition-mode
-- auto-composition-mode turn-on-auto-composition-if-enabled
-- ;; This :extra-args' appears to be the result of a naive copy&paste
-- ;; from global-font-lock-mode.
-- ;; :extra-args (dummy)
-- :initialize 'custom-initialize-delay
-- :init-value (not noninteractive)
-- :group 'auto-composition
-- :version "23.1")
--
++(defun global-auto-composition-mode (&optional arg)
++ "Toggle Auto-Composition mode in every possible buffer.
++With prefix arg, turn Global-Auto-Composition mode on if and only if arg
++is positive.
++See `auto-composition-mode' for more information on Auto-Composition mode."
++ (interactive "P")
++ (setq-default auto-composition-mode
++ (if arg
++ (or (not (integerp arg)) (> arg 0))
++ (not (default-value 'auto-composition-mode)))))
(defalias 'toggle-auto-composition 'auto-composition-mode)
\f
++2010-01-14 Kenichi Handa <handa@m17n.org>
++
++ Make auto-composition work on all buffers even if they are
++ fundamental mode.
++
++ * composite.c (Vauto_composition_mode): New variable.
++ (composition_compute_stop_pos): Check Vauto_composition_mode
++ instead of Vauto_composition_function.
++ (composition_adjust_point, Ffind_composition_internal): Likewise.
++ (syms_of_composite): Declare Lisp variable
++ "auto-composition-mode" here.
++
2010-01-13 Kenichi Handa <handa@m17n.org>
Display buffer name, etc. in mode line by composing correctly.
Lisp_Object Vcompose_chars_after_function;
Lisp_Object Qauto_composed;
++Lisp_Object Vauto_composition_mode;
Lisp_Object Vauto_composition_function;
Lisp_Object Qauto_composition_function;
Lisp_Object Vcomposition_function_table;
if (NILP (string) && PT > charpos && PT < endpos)
cmp_it->stop_pos = PT;
if (NILP (current_buffer->enable_multibyte_characters)
-- || ! FUNCTIONP (Vauto_composition_function))
++ || NILP (Vauto_composition_mode))
return;
if (bytepos < 0)
{
}
if (NILP (current_buffer->enable_multibyte_characters)
-- || ! FUNCTIONP (Vauto_composition_function))
++ || NILP (Vauto_composition_mode))
return new_pt;
/* Next check the automatic composition. */
if (!find_composition (from, to, &start, &end, &prop, string))
{
if (!NILP (current_buffer->enable_multibyte_characters)
-- && FUNCTIONP (Vauto_composition_function)
++ && ! NILP (Vauto_composition_mode)
&& find_automatic_composition (from, to, &start, &end, &gstring,
string))
return list3 (make_number (start), make_number (end), gstring);
Qauto_composition_function = intern_c_string ("auto-composition-function");
staticpro (&Qauto_composition_function);
++ DEFVAR_LISP ("auto-composition-mode", &Vauto_composition_mode,
++ doc: /* Non-nil if Auto-Composition mode is enabled.
++Use the command `auto-composition-mode' to change this variable. */);
++ Vauto_composition_mode = Qt;
++
DEFVAR_LISP ("auto-composition-function", &Vauto_composition_function,
doc: /* Function to call to compose characters automatically.
This function is called from the display routine with four arguments: